package com.tus.util;

import lombok.extern.slf4j.Slf4j;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

@Slf4j
public class FileUtil {


    /**
     * 创建文件及文件夹
     *
     * @param filePath
     */
    public static void createFileIfNotExists(String filePath) {
        Path path = Paths.get(filePath);
        try {
            // 如果文件已经存在，直接返回
            if (Files.exists(path)) {
                return;
            }

            // 获取父目录
            Path parentDir = path.getParent();

            // 如果父目录不存在，创建父目录（包括所有必要父级）
            if (parentDir != null && !Files.exists(parentDir)) {
                Files.createDirectories(parentDir);
                log.info("已创建目录: {}", parentDir.toAbsolutePath());
            }

            // 创建文件（注意：createFile 会确保文件不存在，否则抛出异常）
            Files.createFile(path);
            log.info("已创建文件:{}", path.toAbsolutePath());

        } catch (IOException e) {
            log.error("创建文件失败:{}", e.getMessage());
        }
    }
}
